home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / font / StrikeMetrics.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.0 KB  |  131 lines

  1. package sun.font;
  2.  
  3. import java.awt.geom.AffineTransform;
  4. import java.awt.geom.Point2D;
  5.  
  6. public final class StrikeMetrics {
  7.    public float ascentX;
  8.    public float ascentY;
  9.    public float descentX;
  10.    public float descentY;
  11.    public float baselineX;
  12.    public float baselineY;
  13.    public float leadingX;
  14.    public float leadingY;
  15.    public float maxAdvanceX;
  16.    public float maxAdvanceY;
  17.  
  18.    StrikeMetrics() {
  19.       this.ascentX = this.ascentY = (float)Integer.MAX_VALUE;
  20.       this.descentX = this.descentY = this.leadingX = this.leadingY = (float)Integer.MIN_VALUE;
  21.       this.baselineX = this.baselineX = this.maxAdvanceX = this.maxAdvanceY = (float)Integer.MIN_VALUE;
  22.    }
  23.  
  24.    StrikeMetrics(float var1, float var2, float var3, float var4, float var5, float var6, float var7, float var8, float var9, float var10) {
  25.       this.ascentX = var1;
  26.       this.ascentY = var2;
  27.       this.descentX = var3;
  28.       this.descentY = var4;
  29.       this.baselineX = var5;
  30.       this.baselineY = var6;
  31.       this.leadingX = var7;
  32.       this.leadingY = var8;
  33.       this.maxAdvanceX = var9;
  34.       this.maxAdvanceY = var10;
  35.    }
  36.  
  37.    public float getAscent() {
  38.       return -this.ascentY;
  39.    }
  40.  
  41.    public float getDescent() {
  42.       return this.descentY;
  43.    }
  44.  
  45.    public float getLeading() {
  46.       return this.leadingY;
  47.    }
  48.  
  49.    public float getMaxAdvance() {
  50.       return this.maxAdvanceX;
  51.    }
  52.  
  53.    void merge(StrikeMetrics var1) {
  54.       if (var1 != null) {
  55.          if (var1.ascentX < this.ascentX) {
  56.             this.ascentX = var1.ascentX;
  57.          }
  58.  
  59.          if (var1.ascentY < this.ascentY) {
  60.             this.ascentY = var1.ascentY;
  61.          }
  62.  
  63.          if (var1.descentX > this.descentX) {
  64.             this.descentX = var1.descentX;
  65.          }
  66.  
  67.          if (var1.descentY > this.descentY) {
  68.             this.descentY = var1.descentY;
  69.          }
  70.  
  71.          if (var1.baselineX > this.baselineX) {
  72.             this.baselineX = var1.baselineX;
  73.          }
  74.  
  75.          if (var1.baselineY > this.baselineY) {
  76.             this.baselineY = var1.baselineY;
  77.          }
  78.  
  79.          if (var1.leadingX > this.leadingX) {
  80.             this.leadingX = var1.leadingX;
  81.          }
  82.  
  83.          if (var1.leadingY > this.leadingY) {
  84.             this.leadingY = var1.leadingY;
  85.          }
  86.  
  87.          if (var1.maxAdvanceX > this.maxAdvanceX) {
  88.             this.maxAdvanceX = var1.maxAdvanceX;
  89.          }
  90.  
  91.          if (var1.maxAdvanceY > this.maxAdvanceY) {
  92.             this.maxAdvanceY = var1.maxAdvanceY;
  93.          }
  94.  
  95.       }
  96.    }
  97.  
  98.    void convertToUserSpace(AffineTransform var1) {
  99.       Point2D.Float var2 = new Point2D.Float();
  100.       var2.x = this.ascentX;
  101.       var2.y = this.ascentY;
  102.       var1.deltaTransform(var2, var2);
  103.       this.ascentX = var2.x;
  104.       this.ascentY = var2.y;
  105.       var2.x = this.descentX;
  106.       var2.y = this.descentY;
  107.       var1.deltaTransform(var2, var2);
  108.       this.descentX = var2.x;
  109.       this.descentY = var2.y;
  110.       var2.x = this.baselineX;
  111.       var2.y = this.baselineY;
  112.       var1.deltaTransform(var2, var2);
  113.       this.baselineX = var2.x;
  114.       this.baselineY = var2.y;
  115.       var2.x = this.leadingX;
  116.       var2.y = this.leadingY;
  117.       var1.deltaTransform(var2, var2);
  118.       this.leadingX = var2.x;
  119.       this.leadingY = var2.y;
  120.       var2.x = this.maxAdvanceX;
  121.       var2.y = this.maxAdvanceY;
  122.       var1.deltaTransform(var2, var2);
  123.       this.maxAdvanceX = var2.x;
  124.       this.maxAdvanceY = var2.y;
  125.    }
  126.  
  127.    public String toString() {
  128.       return "ascent:x=" + this.ascentX + " y=" + this.ascentY + " descent:x=" + this.descentX + " y=" + this.descentY + " baseline:x=" + this.baselineX + " y=" + this.baselineY + " leading:x=" + this.leadingX + " y=" + this.leadingY + " maxAdvance:x=" + this.maxAdvanceX + " y=" + this.maxAdvanceY;
  129.    }
  130. }
  131.